﻿
@{
    ViewBag.Title = "Page1";
}

<h2>Page1</h2>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
<script type="text/javascript">
    var appid;
    var timestamp;
    var nonceStr;
    var signature;
    var url_str = window.location.href;

    $(function () {
        init();
        //通过config接口注入权限验证配置
        wx.config({
            debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
            appId: appid, // 必填，公众号的唯一标识
            timestamp: timestamp, // 必填，生成签名的时间戳
            nonceStr: nonceStr, // 必填，生成签名的随机串
            signature: signature, // 必填，签名
            jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 必填，需要使用的JS接口列表
        });

        //        wx.checkJsApi({
        //            jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'], // 需要检测的JS接口列表，所有JS接口列表见附录2,
        //            success: function (res) {
        //                // 以键值对的形式返回，可用的api值true，不可用为false
        //                // 如：{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
        //                console.log(res);
        //            }
        //        });

        wx.ready(function () {
            // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
            // 获取“分享给朋友”按钮点击状态及自定义分享内容接口
            wx.onMenuShareAppMessage({
                title: '这是分享给朋友标题', // 分享标题
                desc: '这是分享给朋友描述', // 分享描述
                link: '这是分享给朋友链接', // 分享链接
                imgUrl: 'https://pic1.zhimg.com/da8e974dc_s.jpg', // 分享图标
                type: '', // 分享类型,music、video或link，不填默认为link
                dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
                success: function () {
                    // 用户确认分享后执行的回调函数
                    alert("分享给朋友成功");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                    alert("分享给朋友失败");
                }
            });


//            wx.updateAppMessageShareData({
//                title: '分享标题1朋友', // 分享标题
//                desc: '哈哈哈哈哈哈', // 分享描述
//                link: 'https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115', // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
//                imgUrl: 'http://test.trumgu.com/Content/img/index-img/logo.png', // 分享图标
//                success: function () {
//                    // 设置成功
//                }
//            });
            //            wx.updateTimelineShareData({
            //                title: '分享标题2朋友圈', // 分享标题
            //                link: 'https://cn.bing.com/', // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            //                imgUrl: 'http://test.trumgu.com/Content/img/index-img/logo.png', // 分享图标
            //                success: function() {
            //                    // 设置成功
            //                }
            //            });

        });

        wx.error(function (res) {
            // config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
        });


    });

    function init() {
        get_appid();
        get_timestamp();
        get_nonce_str();
        get_signature();
    };

    //获取微信公众号的APPID
    function get_appid() {
        $.ajax({
            url: "/Home/GetAppId",
            type: "GET",
            async: false,
            success: function success(data) {
                appid = data;

            },
            error: function error(err) {
                console.log(err);
            }
        });
        return appid;
    };

    function get_timestamp() {
        $.ajax({
            url: "/Home/GetTimestamp",
            type: "GET",
            async: false,
            success: function success(data) {
                timestamp = data;
            },
            error: function error(err) {
                console.log(err);
            }
        });
        return timestamp;
    };

    function get_nonce_str() {
        $.ajax({
            url: "/Home/GetNonceStr",
            type: "GET",
            async: false,
            success: function success(data) {
                nonceStr = data;
            },
            error: function error(err) {
                console.log(err);
            }
        });
        return nonceStr;
    };

    function get_signature() {
        $.ajax({
            url: "/Home/GetSignature?timestamp=" + timestamp + "&nonceStr=" + nonceStr + "&url=" + url_str,
            type: "GET",
            async: false,
            success: function success(data) {
                signature = data;
            },
            error: function error(err) {
                console.log(err);
            }
        });
        return signature;
    };



</script>